package com.yunbiji.demo.service.impl;

import com.yunbiji.demo.dao.CnNotebookDao;
import com.yunbiji.demo.entity.CnNotebook;
import com.yunbiji.demo.service.CnNotebookService;
import com.yunbiji.demo.util.NoteResult;
import com.yunbiji.demo.util.NoteUtil;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.sql.Timestamp;
import java.util.List;

/**
 * (CnNotebook)表服务实现类
 *
 * @author makejava
 * @since 2021-06-02 08:41:43
 */
@Service("cnNotebookService")
public class CnNotebookServiceImpl implements CnNotebookService {
    @Resource
    private CnNotebookDao cnNotebookDao;

    /**
     * 通过ID查询单条数据
     *
     * @param cnNotebookId 主键
     * @return 实例对象
     */
    @Override
    public CnNotebook queryById(String cnNotebookId) {
        return this.cnNotebookDao.queryById(cnNotebookId);
    }

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    @Override
    public List<CnNotebook> queryAllByLimit(int offset, int limit) {
        return this.cnNotebookDao.queryAllByLimit(offset, limit);
    }

    @Override
    public List<CnNotebook> queryAll(CnNotebook cnNotebook) {
        return this.cnNotebookDao.queryAll(cnNotebook);
    }


    /**
     * 通过主键删除数据
     *
     * @param cnNotebookId 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(String cnNotebookId) {
        return this.cnNotebookDao.deleteById(cnNotebookId) > 0;
    }

    @Override
    public NoteResult<List<CnNotebook>> loadUserBook(String userId) {
        //接受结果
        NoteResult<List<CnNotebook>> result=new NoteResult<List<CnNotebook>>();
        //查询
        List<CnNotebook> books = cnNotebookDao.findByUserId(userId);
        result.setStatus(0);
        result.setMsg("查询笔记本成功");
        result.setData(books);
        return result;
    }

    @Override
    public NoteResult<CnNotebook> addBook(String userId, String title) {
        CnNotebook book=new CnNotebook();
        //增加笔记本id
        String bookId= NoteUtil.createId();
        book.setCnNotebookId(bookId);
        //增加用户id
        book.setCnUserId(userId);
        //增加笔记本名称
        book.setCnNotebookName(title);
        //增加笔记本的类型
        book.setCnNotebookTypeId("1");
        //增加笔记本的创建时间
        Timestamp time = new Timestamp(System.currentTimeMillis());
        book.setCnNotebookCreatetime(time);
        //保存笔记本
        cnNotebookDao.save(book);
        System.out.println("检测。。。");
        //返回结果
        NoteResult<CnNotebook> result = new NoteResult<CnNotebook>();
        result.setStatus(0);
        result.setMsg("创建笔记本成功");
        result.setData(book);
        return result;
    }
}